package sistema;

import controloBD.AcessoBD;
import controloBD.QueryResult;
import java.util.Hashtable;
import java.util.Vector;

public class Modalidade {

    private Long id_modalidade;
    private String nome;

    /**
     * @return the id_modalidade
     */
    public Modalidade(Long id_modalidade, String nome) {
        this.id_modalidade = id_modalidade;
        this.nome = nome;
    }

    private Modalidade(Vector tabela) {
        this.id_modalidade = (Long) tabela.get(0);
        this.nome = (String) tabela.get(1);
    }

    public Long getId() {
        return id_modalidade;
    }

    /**
     * @return the nome
     */
    public String getNome() {
        return nome;
    }

    /**
     * @param nome the nome to set
     */
    public void setNome(String nome) {
        this.nome = nome;
    }

    public static void insereModalidade(Hashtable params) throws Exception {
        AcessoBD conexao = new AcessoBD();
        String qryName = new String("inserir_nova_modalidade");
        conexao.executeUpdate(qryName, params);
        conexao.closeBD();
    }

    public static Modalidade devolveModalidadePorID(Long id_modalidade) throws Exception {

        AcessoBD conexao = new AcessoBD();
        Hashtable<String, String> dadosModalidade = new Hashtable<String, String>();
        dadosModalidade.put("var_idmodalidade", id_modalidade.toString());
        String qryName = new String("visualizar_por_id");
        QueryResult qr = new QueryResult();
        qr = conexao.executeSelect(qryName, dadosModalidade);
        conexao.closeBD();

        return new Modalidade(qr.tabela());
    }

    public static Modalidade devolveModalidadePorNome(String nomeModalidade) throws Exception {
        AcessoBD conexao = new AcessoBD();
        Hashtable<String, String> dadosModalidade = new Hashtable<String, String>();
        dadosModalidade.put("var_nome", nomeModalidade);
        String qryName = new String("visualizar_por_nome");
        QueryResult qr = new QueryResult();
        qr = conexao.executeSelect(qryName, dadosModalidade);
        conexao.closeBD();
        return new Modalidade(qr.tabela());
    }
}
